package com.dc.entity.vo;

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 火警处置工单
 *
 * @author feishaobin
 * @email
 * @date 2021-11-17 15:01:50
 */
@Data
@ApiModel
public class FireVO implements Serializable {
    private static final long serialVersionUID = 1L;

    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

    @ApiModelProperty(value = "工单类型 0:全部 1:维保 2:报修 3:隐患 4:巡检 5:火警")
    private Integer type;

    @Excel(name = "工单编号")
    @ApiModelProperty(value = "工单编号")
    private String number;

    @Excel(name = "设备编号")
    @ApiModelProperty(value = "设备唯一序列号")
    private String serialNumber;

    @ApiModelProperty(value = "区域id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long regionId;

    @Excel(name = "区域位置")
    @ApiModelProperty(value = "区域位置")
    private String regionName;

    @ApiModelProperty(value = "接警人id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long dutyUserId;

    @ApiModelProperty(value = "接警人姓名")
    @Excel(name = "接警人")
    private String dutyUserName;

    @ApiModelProperty(value = "接警时间")
    @Excel(name = "接警时间", exportFormat = "yyyy-MM-dd HH:mm:ss")
    private Date alarmTime;

    @ApiModelProperty(value = "接警形式  0:设备报警 1：人工报警")
    @Excel(name = "接警形式", replace = {"设备报警_0", "人工报警_1"})
    private Integer repairType;

    @ApiModelProperty(value = "状态 0：待处理 1：已完成")
    @Excel(name = "状态", replace = {"待处理_0", "处理中_1", "已完成_2"})
    private Integer status;

    @ApiModelProperty(value = "报警信息描述")
    @Excel(name = "报警信息描述")
    private String description;

    @ApiModelProperty(value = "预案内容")
    @Excel(name = "预案内容")
    private String recContent;

    @ApiModelProperty(value = "火警情况原因")
    @Excel(name = "火警情况原因")
    private String repairContent;

    @ApiModelProperty(value = "火警报告")
    @Excel(name = "火警报告")
    private String repairRecord;

    @ApiModelProperty(value = "直属领导Id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long leaderUserId;

    @ApiModelProperty(value = "领导名称")
    private String leaderUserName;

    @ApiModelProperty(value = "报告人id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long reportUserId;

    @ApiModelProperty(value = "上报人名称")
    @Excel(name = "上报人")
    private String reportUserName;

    @Excel(name = "报警时间", exportFormat = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    @Excel(name = "通知时间", exportFormat = "yyyy-MM-dd HH:mm:ss")
    private Date recTime;

    @ApiModelProperty(value = "值班人员编号")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long dutyPersonId;

    @ApiModelProperty(value = "值班人员")
    private String dutyPersonName;
}
